package com.allenkerr.solr;

import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.common.SolrInputDocument;

import java.io.IOException;

/**
 * Created by 小柯(Allen Kerr) on 17.5.1 20:58.
 */
public class IndexManager {

    public static void addIndex() throws IOException, SolrServerException {
        //1. 创建与solr服务器的连接
        SolrServer solrServer = SolrJUtils.getSolrServer();
        //2. 创建solr文档对象
        SolrInputDocument doc = new SolrInputDocument();
        //2.1 域要先定义，后使用，主键域id不可或缺
        //2.2 solr没有专门的修改方法，如果id重复，就替换内容
        doc.addField("id", "p001");
        doc.addField("product_name", "虚拟商品");
        doc.addField("product_price", "12.99");
        //3. 将doc加入索引中
        solrServer.add(doc);
        //4. 提交
        solrServer.commit();
    }

    public static void deleteIndex() throws IOException, SolrServerException {
        //1. 创建与solr服务器的连接
        SolrServer solrServer = SolrJUtils.getSolrServer();

        //2.1 根据主键id进行删除
//        solrServer.deleteById("p001");
        //2.2 根据查询结果删除，这里演示删除所有
        solrServer.deleteByQuery("*:*");

        //3. 提交
        solrServer.commit();
    }

}
